home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / dsytrd.z / dsytrd
Text File  |  1996-03-14  |  6KB  |  199 lines

  1.  
  2.  
  3.  
  4. DDDDSSSSYYYYTTTTRRRRDDDD((((3333FFFF))))                                                          DDDDSSSSYYYYTTTTRRRRDDDD((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DSYTRD - reduce a real symmetric matrix A to real symmetric tridiagonal
  10.      form T by an orthogonal similarity transformation
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE DSYTRD( UPLO, N, A, LDA, D, E, TAU, WORK, LWORK, INFO )
  14.  
  15.          CHARACTER      UPLO
  16.  
  17.          INTEGER        INFO, LDA, LWORK, N
  18.  
  19.          DOUBLE         PRECISION A( LDA, * ), D( * ), E( * ), TAU( * ), WORK(
  20.                         * )
  21.  
  22. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  23.      DSYTRD reduces a real symmetric matrix A to real symmetric tridiagonal
  24.      form T by an orthogonal similarity transformation:  Q**T * A * Q = T.
  25.  
  26.  
  27. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  28.      UPLO    (input) CHARACTER*1
  29.              = 'U':  Upper triangle of A is stored;
  30.              = 'L':  Lower triangle of A is stored.
  31.  
  32.      N       (input) INTEGER
  33.              The order of the matrix A.  N >= 0.
  34.  
  35.      A       (input/output) DOUBLE PRECISION array, dimension (LDA,N)
  36.              On entry, the symmetric matrix A.  If UPLO = 'U', the leading N-
  37.              by-N upper triangular part of A contains the upper triangular
  38.              part of the matrix A, and the strictly lower triangular part of A
  39.              is not referenced.  If UPLO = 'L', the leading N-by-N lower
  40.              triangular part of A contains the lower triangular part of the
  41.              matrix A, and the strictly upper triangular part of A is not
  42.              referenced.  On exit, if UPLO = 'U', the diagonal and first
  43.              superdiagonal of A are overwritten by the corresponding elements
  44.              of the tridiagonal matrix T, and the elements above the first
  45.              superdiagonal, with the array TAU, represent the orthogonal
  46.              matrix Q as a product of elementary reflectors; if UPLO = 'L',
  47.              the diagonal and first subdiagonal of A are over- written by the
  48.              corresponding elements of the tridiagonal matrix T, and the
  49.              elements below the first subdiagonal, with the array TAU,
  50.              represent the orthogonal matrix Q as a product of elementary
  51.              reflectors. See Further Details.  LDA     (input) INTEGER The
  52.              leading dimension of the array A.  LDA >= max(1,N).
  53.  
  54.      D       (output) DOUBLE PRECISION array, dimension (N)
  55.              The diagonal elements of the tridiagonal matrix T:  D(i) =
  56.              A(i,i).
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDSSSSYYYYTTTTRRRRDDDD((((3333FFFF))))                                                          DDDDSSSSYYYYTTTTRRRRDDDD((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      E       (output) DOUBLE PRECISION array, dimension (N-1)
  75.              The off-diagonal elements of the tridiagonal matrix T:  E(i) =
  76.              A(i,i+1) if UPLO = 'U', E(i) = A(i+1,i) if UPLO = 'L'.
  77.  
  78.      TAU     (output) DOUBLE PRECISION array, dimension (N-1)
  79.              The scalar factors of the elementary reflectors (see Further
  80.              Details).
  81.  
  82.      WORK    (workspace/output) DOUBLE PRECISION array, dimension (LWORK)
  83.              On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
  84.  
  85.      LWORK   (input) INTEGER
  86.              The dimension of the array WORK.  LWORK >= 1.  For optimum
  87.              performance LWORK >= N*NB, where NB is the optimal blocksize.
  88.  
  89.      INFO    (output) INTEGER
  90.              = 0:  successful exit
  91.              < 0:  if INFO = -i, the i-th argument had an illegal value
  92.  
  93. FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
  94.      If UPLO = 'U', the matrix Q is represented as a product of elementary
  95.      reflectors
  96.  
  97.         Q = H(n-1) . . . H(2) H(1).
  98.  
  99.      Each H(i) has the form
  100.  
  101.         H(i) = I - tau * v * v'
  102.  
  103.      where tau is a real scalar, and v is a real vector with
  104.      v(i+1:n) = 0 and v(i) = 1; v(1:i-1) is stored on exit in
  105.      A(1:i-1,i+1), and tau in TAU(i).
  106.  
  107.      If UPLO = 'L', the matrix Q is represented as a product of elementary
  108.      reflectors
  109.  
  110.         Q = H(1) H(2) . . . H(n-1).
  111.  
  112.      Each H(i) has the form
  113.  
  114.         H(i) = I - tau * v * v'
  115.  
  116.      where tau is a real scalar, and v is a real vector with
  117.      v(1:i) = 0 and v(i+1) = 1; v(i+2:n) is stored on exit in A(i+2:n,i), and
  118.      tau in TAU(i).
  119.  
  120.      The contents of A on exit are illustrated by the following examples with
  121.      n = 5:
  122.  
  123.      if UPLO = 'U':                       if UPLO = 'L':
  124.  
  125.        (  d   e   v2  v3  v4 )              (  d                  )
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. DDDDSSSSYYYYTTTTRRRRDDDD((((3333FFFF))))                                                          DDDDSSSSYYYYTTTTRRRRDDDD((((3333FFFF))))
  137.  
  138.  
  139.  
  140.        (      d   e   v3  v4 )              (  e   d              )
  141.        (          d   e   v4 )              (  v1  e   d          )
  142.        (              d   e  )              (  v1  v2  e   d      )
  143.        (                  d  )              (  v1  v2  v3  e   d  )
  144.  
  145.      where d and e denote diagonal and off-diagonal elements of T, and vi
  146.      denotes an element of the vector defining H(i).
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.